package lkx.demo.test4;

/**
 *
 * 测试运算符的使用2：赋值运算符
 *
 * 1. =   +=、 -=、*=、 /=、%=
 *
 * 2. 说明：
 * ① 当“=”两侧数据类型不一致时，可以使用自动类型转换或使用强制类型转换原则进行处理。
 * ② 支持连续赋值。
 * ③ +=、 -=、*=、 /=、%=  操作，不会改变变量本身的数据类型。
 *
 * @author kunxianli
 * @date 2024/01/08 16:41
 **/
public class TestSetValueSign {

    public static void main(String[] args) {

        int a = 10;

//        当“=”两侧数据类型不一致时，可以使用自动类型转换或使用强制类型转换原则进行处理。
        long b = a;//自动类型提升

        short c = (short) a;//强制类型转换

//支持连续赋值。
        int a1,b1;
        a1 = b1 = 2;
        System.out.println("a1:"+a1+";b1:"+b1);//a1:2;b1:2

//        +=、 -=、*=、 /=、%=
//        以+= 举例，其他逻辑一致

        int d = 10;
        d+=2; // 约等于 d=d+2;
        System.out.println(d); //12

//       e+=2 与 e=e+2 的区别

        byte e = 10;
        e+=2; // 这里的特性和++ -- 相同
        System.out.println(e);//12

//        e=e+2; 编译失败。
    }

}
